package com.vhall.component.entity.room.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * BaseRoomDraftRecordVO-
 *
 * @author xing.wang
 * @date 2023/8/10
 */
@Data
public class BaseRoomDraftRecordVO implements Serializable {

        /**
         * 房间标题
         */
        @JsonProperty(value = "subject")
        @ParamName(value = "subject")
        private String subject;

        /**
         * 栏目id
         */
        @JsonProperty(value = "column_id")
        @ParamName(value = "column_id")
        private Integer columnId;

        /**
         * 直播类型 1 直播 2 假直播 3 点播 4 拉流直播
         */
        @JsonProperty(value = "live_type")
        @ParamName(value = "live_type")
        private Integer liveType;

        /**
         * 账户验证: 0:不需账户验证,1:需账户验证 ,用户需要交易登录或绑定资金账号,方可进入直播
         */
        @JsonProperty(value = "account_verification")
        @ParamName(value = "account_verification")
        private String accountVerification;

        /**
         * 风险等级:0:无要求,1:R1保守型,2:R2谨慎型,3:R3稳健型,4:R4积极型,5:R5激进型
         */
        @JsonProperty(value = "risk_live")
        @ParamName(value = "risk_live")
        private String riskLive;

        /**
         * 投资期限:0:无要求,1:0(含)到1年(含),2:1(不含)到3年(含),3:3(不含)到5年(含),4:5年(不含)以上
         */
        @JsonProperty(value = "invest_limit")
        @ParamName(value = "invest_limit")
        private String investLimit;

        /**
         * 投资品种:0:无要求,1:固定收益,2:A项目,3:A,B项目,4:A,B,C 项目,5:A,B,C,D项目
         */
        @JsonProperty(value = "invest_type")
        @ParamName(value = "invest_type")
        private String investType;

        /**
         * 业务权限:无要求:0,1:融资融券,^:港股通,E:创业板,k:科创板,w:股票期权,x:北交所
         */
        @JsonProperty(value = "permissions")
        @ParamName(value = "permissions")
        private String permissions;

        /**
         * 合格投资者要求:0:无要求,1:仅私募合同投资者可见,2:仅资管合同投资者可见
         */
        @JsonProperty(value = "qualified_investor_requirements")
        @ParamName(value = "qualified_investor_requirements")
        private Integer qualifiedInvestorRequirements;

        /**
         * 投资依据关联id 组
         */
        @JsonProperty(value = "invest_ref_ids")
        @ParamName(value = "invest_ref_ids")
        private String investRefIds;

        /**
         * 点播ID
         */
        @JsonProperty(value = "demand_vod_id")
        @ParamName(value = "demand_vod_id")
        private String demandVodId;

        /**
         * 预计开始时间
         */
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonProperty(value = "start_time")
        @ParamName(value = "start_time")
        private LocalDateTime startTime;
        /**
         * 预计开始时间 - 为了和房间创建进行统一
         */
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonProperty(value = "begin_time")
        @ParamName(value = "begin_time")
        private LocalDateTime beginTime;

        /**
         * 直播横竖屏 1横 2竖
         */
        @JsonProperty(value = "video_type")
        @ParamName(value = "video_type")
        private Integer videoType;

        /**
         * 主播关联 id 组
         */
        @JsonProperty(value = "user_codes")
        @ParamName(value = "user_codes")
        private String userCodes;

        /**
         * 直播来源,从创建人身上获取-直播来源名称
         */
        @JsonProperty(value = "org_name")
        @ParamName(value = "org_name")
        private String orgName;

        /**
         * 直播来源,从创建人身上获取-直播来源编号
         */
        @JsonProperty(value = "org_code")
        @ParamName(value = "org_code")
        private String orgCode;

        /**
         * OA审核关联,审核 id
         */
        @JsonProperty(value = "review_oa_id")
        @ParamName(value = "review_oa_id")
        private String reviewOaId;

        /**
         * OA审核关联,审核标题
         */
        @JsonProperty(value = "review_oa_name")
        @ParamName(value = "review_oa_name")
        private String reviewOaName;

        /**
         * OA审核关联,审核链接
         */
        @JsonProperty(value = "review_oa_url")
        @ParamName(value = "review_oa_url")
        private String reviewOaUrl;
        /**
         * 直播类型:
         * 1:投教类,2:投顾类,3:产品类,4:证券研究类
         */
        @JsonProperty("live_content_type")
        @ParamName("live_content_type")
        private Integer liveContentType;
        /**
         * 直播目的:1:业务开通,2:销售促成,3:股票交易,4:促活,5:其他
         */
        @JsonProperty(value = "live_target")
        @ParamName(value = "live_target")
        private String liveTarget;
        /**
         * 直播业务分类:
         * 10:养老,9:私募,8:资管,7:公募,6:融资融券,5:港股通,4:期权,3:投顾产品,2:基金投顾,1:咨询
         */
        @JsonProperty(value = "live_business")
        @ParamName("live_business")
        private String liveBusiness;

        /**
         * 封面图片地址
         */
        @JsonProperty(value = "cover_image")
        @ParamName(value = "cover_image")
        private String coverImage;

        /**
         * 曝光海报
         */
        @JsonProperty(value = "poster_url")
        @ParamName(value = "poster_url")
        private String posterUrl;

        /**
         * 直播介绍
         */
        @JsonProperty(value = "introduction")
        @ParamName(value = "introduction")
        private String introduction;

        /**
         * 标签,多个逗号隔开
         */
        @JsonProperty(value = "topics")
        @ParamName(value = "topics")
        private String topics;

        /**
         * 直播欢迎语
         */
        @JsonProperty(value = "welcom_message")
        @ParamName(value = "welcom_message")
        private String welcomMessage;

        /**
         * 正式/测试房间标识 测试直播:0,正式直播:1
         */
        @JsonProperty(value = "live_rormal")
        @ParamName(value = "live_rormal")
        private Integer liveRormal;

        /**
         * 是否有效草稿,0:无效,1:有效,(进入直播间创建时创建草稿,为无效草稿,点击保存草稿时为有效草稿)
         */
        @JsonProperty(value = "valid")
        @ParamName(value = "valid")
        private Integer valid;

}
